In the field of data communication, data is typically compressed so that the amount of information being transmitted is reduced. Such data compression enables less traffic and therefore faster transmission. Compression also reduces storage requirements, which is especially important in communication to portable or mobile communication devices with limited storage capacity. In conventional communication between a server and a mobile communication device, requested data, such as message data, a website, or a digital file, is encoded, or compressed, by the server, and then transmitted. A decoder at the mobile communication device decodes the compressed data, and processes it appropriately, for example, displaying it to the user.
Side information, or a priori information shared by both the encoder and decoder, can be used in the compression and decompression of transmitted data to improve compression performance. The choice of side information influences the compression ratio achieved by the compression. Significantly improved compression can be achieved in systems, known as interactive compression systems, that maintain shared caches of side information. A class of such systems is grammar-based compression of which Yang-Kieffer (YK) data compression is a member. Side information that is correlated with the data being compressed is utilized in YK compression to build a grammar and collect frequency counts. This is used to achieve better compression of the data being compressed.
It is important that both encoder and decoder use the same side information in compression and decompression, thereby using the same parameters (e.g. YK grammar and frequency counts) for compression and decompression, respectively. It is therefore desirable to provide a method of communicating side information for interactive compression.
It is an object of the present invention to obviate or mitigate at least one disadvantage of previous methods of interactive compression.